import request from '@/utils/request'
import type { GetPermissionListResponse,SavePermissionApiParams,UpdatePermissionApiParams } from './model/permissionModel'

enum Api {
    getPermissionList = "/admin/acl/permission",
    getRolePermission = "/admin/acl/permission/toAssign",
    assignRolePermission = "/admin/acl/permission/doAssign",
    savePermission = "/admin/acl/permission/save",
    updatePermission = "/admin/acl/permission/update",
    removePermission = "/admin/acl/permission/remove",
}

// 获取菜单分页列表
export const getPermissionListApi = ()=>{
    return request.get<any,GetPermissionListResponse>(Api.getPermissionList)
}

// 根据角色id获取菜单权限
export const getRolePermissionApi = (roleId:string)=>{
    return request.get<any,GetPermissionListResponse>(`${Api.getRolePermission}/${roleId}`)
}

// 安排角色权限
export const assignRolePermissionApi = (roleId:string,permissionId:string[])=>{
    return request.post<any,null>(`${Api.assignRolePermission}?roleId${roleId}&permissionId=${permissionId}`)
}

// 添加菜单 
export const savePermissionApi = (permission:SavePermissionApiParams)=>{
    return request.post<any,null>(Api.savePermission,permission)
}

// 修改菜单
export const updatePermissionApi = (permission:UpdatePermissionApiParams)=>{
    return request.put<any,null>(Api.updatePermission,permission)
}

// 删除菜单
export const removePermissionApi = (id:string)=>{
    return request.delete<any,null>(`${Api.removePermission}/${id}`)
}